public class Interview01_07 {
    /**
     * 给你一幅由 N × N 矩阵表示的图像，其中每个像素的大小为 4 字节。请你设计一种算法，将图像旋转 90 度。
     *
     * 不占用额外内存空间能否做到？
     */
    public void rotate(int[][] matrix) {
        int rows = matrix.length;
        if (rows == 0) return;
        int i = 0;
        int j = rows - 1;
        while (i < j){
            for (int k = 0; k < j-i; k++){
                int temp = matrix[i][i+k];
                matrix[i][i+k] = matrix[j-k][i];
                matrix[j-k][i] = matrix[j][j-k];
                matrix[j][j-k] = matrix[i+k][j];
                matrix[i+k][j] = temp;
            }
            i++;
            j--;
        }
    }
}
